package com.fhz.a2102mvi

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.fhz.a2102mvi.api.FengServerApi
import com.fhz.a2102mvi.utils.RetrofitFactory
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*

/**
 * Instrumented test, which will execute on an Android device.
 *
 * See [testing documentation](http://d.android.com/tools/testing).
 */
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {

    @Test
    fun useAppContext() {
        // Context of the app under test.
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        assertEquals("com.fhz.a2102mvi", appContext.packageName)
    }

    @Test
    fun testRetrofit(){
        runBlocking {
            val create = RetrofitFactory.getRetrofitFactory().create<FengServerApi>(FengServerApi::class.java)
            val bannerList = create.getBannerList(0, 1, 5)
            flow {
                emit(bannerList)
            }.collect{
                println(it.data.list.size)
            }
        }


    }
}